<template>
  <div class="header">
    <div class="header-left">
      <div class="iconfont header-left-icon">&#xe624;</div>
    </div>
    <div class="header-input">
      <span class="iconfont">&#xe632;</span>
      输入城市/景点/游玩主题</div>
    <router-link to="/city">
      <div class="header-right">
        {{this.city}}
        <span class="iconfont header-right-icon">&#xe64a;</span>
      </div>
    </router-link>
  </div>
</template>

<script>
//this.$store.state.city 等同于现在的计算属性state
//意思是将vuex中的mapState中的city属性映射到当前组件的计算属性city中，然后可以直接使用这个计算属性
import { mapState } from "vuex";
export default {
  name: "homeHeader",
  computed: {
    ...mapState(["city"])
  }
};
</script>

<style lang="stylus" scoped>
/* 使用全局变量$bgColor  保存在varibles.styl文件中
styles为别名，配置与vue.config.js文件中
在css中导入样式，import需要加@，引号中需要加~ */
@import ('~styles/varibles.styl');

.header {
  display: flex;
  height: $bgHeaderHeight;
  background-color: $bgColor;
  color: #fff;
}

.header .header-left {
  width: 0.7rem;
  float: left;
  line-height: $bgHeaderHeight;
}

.header .header-left .header-left-icon {
  text-align: center;
  font-size: 0.2rem;
}

.header .header-input {
  flex: 1;
  background-color: white;
  border-radius: 0.2rem;
  margin-top: 0.12rem;
  margin-bottom: 0.12rem;
  line-height: 0.62rem;
  text-align: left;
  padding-left: 0.15rem;
  color: gray;
}

.header .header-right {
  min-width: 0.9rem;
  padding: 0 0.1rem;
  line-height: 0.86rem;
  color: #fff;
}

.header .header-right .header-right-icon {
  margin-left: -0.07rem;
  font-size: 0.2rem;
}
</style>
